doGet(), doPost(), doPut(), doDelete() মেথডের ব্যবহার

HTTP Servlets - সার্ভলেটস (Servlets) - Java Technologies

309

Servlet একটি Java প্রোগ্রাম যা ওয়েব অ্যাপ্লিকেশনে HTTP প্রোটোকল এর মাধ্যমে ক্লায়েন্ট থেকে রিকোয়েস্ট গ্রহণ করে এবং সার্ভার থেকে রেসপন্স প্রদান করে। সার্ভলেটের মধ্যে HTTP রিকোয়েস্ট প্রক্রিয়ার জন্য প্রধানত doGet(), doPost(), doPut(), এবং doDelete() মেথডগুলি ব্যবহৃত হয়। এগুলি HttpServlet ক্লাসের মেথড যা ক্লায়েন্টের HTTP রিকোয়েস্টের প্রকার অনুযায়ী কার্যকরী হয়।

এই মেথডগুলি HTTP প্রটোকলের বিভিন্ন অ্যাকশন যেমন GET, POST, PUT, DELETE রিকোয়েস্ট হ্যান্ডল করতে ব্যবহৃত হয়।


১. doGet() মেথড

doGet() মেথডটি HTTP GET রিকোয়েস্ট হ্যান্ডল করতে ব্যবহৃত হয়। এটি সাধারণত ক্লায়েন্টের কাছ থেকে তথ্য পুনরুদ্ধার করার জন্য ব্যবহৃত হয়। GET রিকোয়েস্ট সার্ভারে কোনো ডেটা পরিবর্তন করে না, শুধুমাত্র ডেটা রিট্রিভ (retrieving) করা হয়।

doGet() মেথডের ব্যবহার:

  • ক্লায়েন্ট থেকে অর্থাৎ ব্রাউজার যে রিকোয়েস্ট পাঠায় (যেমন URL ক্লিক করার মাধ্যমে), সেটি GET রিকোয়েস্ট হয়।
  • এই মেথডটি ক্লায়েন্টের কাছে কিছু তথ্য বা ওয়েব পেজ রিটার্ন করার জন্য ব্যবহার করা হয়।

উদাহরণ:

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // Content type সেট করা
    response.setContentType("text/html");

    // PrintWriter ব্যবহার করে রেসপন্স লেখার জন্য
    PrintWriter out = response.getWriter();
    
    out.println("<html><body>");
    out.println("<h1>Hello, this is a GET request</h1>");
    out.println("</body></html>");
}

এই উদাহরণে, doGet() মেথডটি একটি সাধারণ HTML পেজ রিটার্ন করছে যা GET রিকোয়েস্টের মাধ্যমে ব্রাউজারে প্রদর্শিত হবে।


২. doPost() মেথড

doPost() মেথডটি HTTP POST রিকোয়েস্ট হ্যান্ডল করতে ব্যবহৃত হয়। এটি সাধারণত ডেটা সার্ভারে পাঠানোর জন্য ব্যবহৃত হয়, যেমন ফর্ম ডাটা সাবমিট করা বা কোনো নতুন রিসোর্স তৈরি করা।

doPost() মেথডের ব্যবহার:

  • POST রিকোয়েস্টটি সাধারণত ডেটা বা ফর্ম তথ্য সার্ভারে পাঠানোর জন্য ব্যবহৃত হয়।
  • সার্ভারের মধ্যে ডেটা পরিবর্তন বা নতুন রিসোর্স তৈরি করার জন্য POST রিকোয়েস্ট ব্যবহৃত হয়।

উদাহরণ:

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String userName = request.getParameter("userName");
    
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    
    out.println("<html><body>");
    out.println("<h1>Hello, " + userName + "!</h1>");
    out.println("</body></html>");
}

এখানে, doPost() মেথডটি ফর্মের মাধ্যমে পাঠানো userName প্যারামিটারটি গ্রহণ করে এবং এটি ব্রাউজারে রিটার্ন করছে।


৩. doPut() মেথড

doPut() মেথডটি HTTP PUT রিকোয়েস্ট হ্যান্ডল করতে ব্যবহৃত হয়। PUT রিকোয়েস্ট সাধারণত সার্ভারে একটি সম্পূর্ণ নতুন রিসোর্স আপডেট বা তৈরি করার জন্য ব্যবহৃত হয়।

doPut() মেথডের ব্যবহার:

  • PUT রিকোয়েস্ট সাধারণত সম্পূর্ণ একটি রিসোর্স আপডেট বা নতুন রিসোর্স তৈরি করার জন্য ব্যবহৃত হয়। উদাহরণস্বরূপ, আপনি একটি নির্দিষ্ট ID দিয়ে কোনো ডেটা আপডেট করতে চাইলে PUT রিকোয়েস্ট ব্যবহার করবেন।

উদাহরণ:

@Override
protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String updatedData = request.getParameter("data");
    
    // ডেটা আপডেট করা
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    
    out.println("<html><body>");
    out.println("<h1>Data has been updated: " + updatedData + "</h1>");
    out.println("</body></html>");
}

এখানে doPut() মেথডটি সার্ভারে একটি ডেটা আপডেট বা তৈরি করতে ব্যবহৃত হয়েছে। ক্লায়েন্ট থেকে যে ডেটা পাঠানো হবে তা সার্ভারে আপডেট করা হবে।


৪. doDelete() মেথড

doDelete() মেথডটি HTTP DELETE রিকোয়েস্ট হ্যান্ডল করতে ব্যবহৃত হয়। এটি সাধারণত সার্ভার থেকে কোনো রিসোর্স মুছে ফেলার জন্য ব্যবহৃত হয়।

doDelete() মেথডের ব্যবহার:

  • DELETE রিকোয়েস্ট সাধারণত সার্ভার থেকে কোনো রিসোর্স মুছে ফেলার জন্য ব্যবহৃত হয়।

উদাহরণ:

@Override
protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String resourceId = request.getParameter("resourceId");
    
    // রিসোর্স মুছে ফেলা
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    
    out.println("<html><body>");
    out.println("<h1>Resource with ID " + resourceId + " has been deleted</h1>");
    out.println("</body></html>");
}

এখানে doDelete() মেথডটি একটি নির্দিষ্ট রিসোর্স ID গ্রহণ করে এবং সেটি সার্ভার থেকে মুছে ফেলে।


সার্ভলেটের doGet(), doPost(), doPut(), এবং doDelete() মেথডের পার্থক্য

HTTP MethodPurposeUsage Example
GETRetrieves data from the serverRetrieving a web page or data
POSTSends data to the server (creates new resource)Submitting form data
PUTUpdates or creates a resourceUpdating a record or creating a new one
DELETEDeletes a resource from the serverDeleting a resource
  • GET: তথ্য রিট্রিভ (retrieve) করতে ব্যবহৃত হয়।
  • POST: নতুন তথ্য বা রিসোর্স তৈরি করতে ব্যবহৃত হয়।
  • PUT: পূর্বের রিসোর্স আপডেট করতে বা নতুন রিসোর্স তৈরি করতে ব্যবহৃত হয়।
  • DELETE: একটি রিসোর্স মুছে ফেলার জন্য ব্যবহৃত হয়।

সারাংশ

Servlets এর doGet(), doPost(), doPut(), এবং doDelete() মেথডগুলি HTTP প্রোটোকলের বিভিন্ন ক্রিয়ার জন্য ব্যবহৃত হয়। GET রিকোয়েস্ট তথ্য রিট্রিভ করতে, POST রিকোয়েস্ট নতুন ডেটা তৈরি করতে, PUT রিকোয়েস্ট কোনো রিসোর্স আপডেট বা তৈরি করতে এবং DELETE রিকোয়েস্ট কোনো রিসোর্স মুছে ফেলতে ব্যবহৃত হয়। সার্ভলেটের এই মেথডগুলো ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে গুরুত্বপূর্ণ ভূমিকা পালন করে এবং HTTP রিকোয়েস্টের উপযুক্ত কার্যাবলী সম্পন্ন করতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...